package com.java2207.group1.mapper;

import com.java2207.group1.bo.MonthBo;
import com.java2207.group1.pojo.Assets;

import java.util.List;
import java.util.Map;

/**
 * @author HuiCL
 * @version 1.0
 * @date 2022/7/25 18:01
 */
public interface AssetsMapper {

    /**
     * 查询指定日期当天最新的总收入, 当天的总支出, 当天的总利润 (多表联查)
     * @return
     */
    public Assets profitOfDate(String date);

    /**
     * 查询指定日期的totalAssets字段的数据
     * @param date
     * @return id字段和totalAssets字段
     */
    Assets selectAssetsOfDate(String date);


    /**
     * 更新资产表的数据
     * @param assets
     * @return
     */
    int updateAssets(Assets assets);

    /**
     * 查询资产表中,在该日期之前(不包括本日期)的最后一行的数据
     * (也即查询 该日期之前的数据中, 离该日期最接近的一天 的数据)
     * @return
     */
    Assets selectLastDataBefore(String date);

    /**
     * 向资产表添加数据
     * @param assets
     * @return 数据库中受影响的行数
     */
    int addAssets(Assets assets);

    int deleteAssetsById(int id);

    List<Assets> assetsPageData(Map<String, Object> params);

    List<Assets> selectDataThatMeetConditions(Assets assets);

    List<MonthBo> queryIncomeAndExpenditureFromYear(String year);

    int batchRemoveAssets(List<Integer> list);
}
